From: Florian Müllner Date: Fri, 14 Feb 2020 20:10:04 +0000 (+0100) Subject: authPrompt: Use placeholder label to avoid layout changes X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~777^2^2~22 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=0d766dcf701a7051af502c82bdce82fc05629a15;p=gnome-shell.git authPrompt: Use placeholder label to avoid layout changes We don't want to show a caps-lock warning when showing a non-password entry, but we also don't want the layout to jump when changing the label's visibility. Achieve that by inserting an empty placeholder label that we can show whenever the caps-lock warning is hidden. https://gitlab.gnome.org/GNOME/gnome-shell/issues/2215 --- diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js index 6edb2694a..9a8cf44bf 100644 --- a/js/gdm/authPrompt.js +++ b/js/gdm/authPrompt.js @@ -85,12 +85,19 @@ var AuthPrompt = GObject.registerClass({ this._initEntryRow(); + let capsLockPlaceholder = new St.Label(); + this.add_child(capsLockPlaceholder); + this._capsLockWarningLabel = new ShellEntry.CapsLockWarning({ x_expand: true, x_align: Clutter.ActorAlign.CENTER, }); this.add_child(this._capsLockWarningLabel); + this._capsLockWarningLabel.bind_property('visible', + capsLockPlaceholder, 'visible', + GObject.BindingFlags.SYNC_CREATE | GObject.BindingFlags.INVERT_BOOLEAN); + this._message = new St.Label({ opacity: 0, styleClass: 'login-dialog-message',